package com.wbl.train.business.service;

import com.wbl.train.common.business.dto.TrainSeatDto;
import com.wbl.train.common.business.entity.TrainSeatEntity;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wbl.train.common.page.PageVo;

import java.util.List;

/**
 * 座位 服务类
 * @author 王博纶
 * @since 2024-02-02
 */
public interface TrainSeatService extends IService<TrainSeatEntity> {

    /**
     * 查询火车车厢座位的信息
     * @param trainSeatDto 火车车厢座位DTO
     * @return 分页信息
     */
    PageVo<TrainSeatEntity> queryTrainSeat(TrainSeatDto trainSeatDto);

    /**
     * 新增火车车厢座位
     * @param trainSeat 火车车厢座位
     * @return 是否新增成功
     */
    boolean insertAndUpdateTrain(TrainSeatEntity trainSeat);

    /**
     * 生成火车座位数据
     * @param trainCode 车次编号
     */
    void generateSeat(String trainCode);

    /**
     * 根据trainCode查询火车座位的信息
     * @param trainCode 火车的编号
     */
    List<TrainSeatEntity> selectByTrainCode(String trainCode);
}
